One conventional high performance computing (HPC) system consists of a plurality of nodes interconnected by routers. Each of the nodes includes one or more processors. The nodes communicate by sending messages to each other. The nodes and the routers together may define, at least in part, a network. The network's topology defines the particular nodes with which a given node may directly communicate. In order to communicate with a destination node that is not one of these particular nodes, a message from the given node traverses intermediate hops along a routing path in the network until the message is received at the destination node. The routing path is determined according to a routing algorithm.
The routing algorithm used to determine the routing path may substantially affect traffic throughput, routing path contention, and performance of the HPC system. For example, some deterministic routing algorithms produce much higher levels of routing path contention, depending upon the particular network traffic pattern, than other deterministic routing algorithms.
Adaptive routing algorithms have been proposed in which adaptive routing solutions are selected as alternatives to deterministic routing solutions. However, the adaptive routing solutions selected by such adaptive routing algorithms may collide with each other. This may significantly degrade the performance of the network and the HPC system.
Typically, the configuration of a router is fixed at its construction. Depending upon the particular router configuration and network topology, this may complicate the construction of networks having certain topologies, and/or may make it less efficient to use routers having particular configurations to construct such networks.
Furthermore, depending upon the particular network topology and routing algorithm employed, congestion issues may arise in the network. In order to try to ameliorate this condition, in the case of a torus network topology, it has been proposed to utilize an adaptive routing scheme that employs a single, dedicated virtual channel for the adaptive routing. The use of a single, dedicated virtual channel for adaptive routing reduces the routing flexibility in this solution.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly.